草庐IT

javascript oop、instanceof 和基类

全部标签

javascript - function F() { if (!(this instanceof F)) { return new F() }; ... }

结构的用法是什么:functionF(){if(!(thisinstanceofF)){returnnewF()};...?我在Node.js的pty.js中找到了这个。原代码如下:functionTerminal(file,args,opt){if(!(thisinstanceofTerminal)){returnnewTerminal(file,args,opt);}varself=this,env,cwd,name,cols,rows,term;-------------------SKIP-----------------------------------Terminal.t

javascript - 如何在 switch 语句中使用 instanceof

我使用自定义错误(es6-error)允许我根据它们的类处理错误,如下所示:import{DatabaseEntryNotFoundError,NotAllowedError}from'customError';functionfooRoute(req,res){doSomethingAsync().then(()=>{//onresolve/successreturnres.send(200);}).catch((error)=>{//onreject/failureif(errorinstanceofDatabaseEntryNotFoundError){returnres.sen

javascript - 如何在 switch 语句中使用 instanceof

我使用自定义错误(es6-error)允许我根据它们的类处理错误,如下所示:import{DatabaseEntryNotFoundError,NotAllowedError}from'customError';functionfooRoute(req,res){doSomethingAsync().then(()=>{//onresolve/successreturnres.send(200);}).catch((error)=>{//onreject/failureif(errorinstanceofDatabaseEntryNotFoundError){returnres.sen

javascript - 使用 Jasmine 测试 instanceof

我是Jasmine的新手和一般测试的新手。我的代码块检查我的库是否已使用new运算符实例化://if'this'isn'taninstanceofmylib...if(!(thisinstanceofmylib)){//returnanewinstancereturnnewmylib();}我如何使用Jasmine对此进行测试? 最佳答案 Jasmine>=3.5.0Jasmine提供了toBeInstanceOf匹配器。it("matchesanyvalue",()=>{expect(3).toBeInstanceOf(Numbe

javascript - 使用 Jasmine 测试 instanceof

我是Jasmine的新手和一般测试的新手。我的代码块检查我的库是否已使用new运算符实例化://if'this'isn'taninstanceofmylib...if(!(thisinstanceofmylib)){//returnanewinstancereturnnewmylib();}我如何使用Jasmine对此进行测试? 最佳答案 Jasmine>=3.5.0Jasmine提供了toBeInstanceOf匹配器。it("matchesanyvalue",()=>{expect(3).toBeInstanceOf(Numbe

javascript - Javascript 中的 isPrototypeOf 和 instanceof 有什么区别?

在我自己的一些旧代码中,我使用以下内容:Object.prototype.instanceOf=function(iface){returniface.prototype.isPrototypeOf(this);};然后我做(例如)[].instanceOf(Array)这行得通,但似乎以下内容会做同样的事情:[]instanceofArray现在,这当然只是一个非常简单的例子。因此,我的问题是:ainstanceofb总是与b.prototype.isPrototypeOf(a)相同吗? 最佳答案 是的,他们做同样的事情,都遍历原

javascript - Javascript 中的 isPrototypeOf 和 instanceof 有什么区别?

在我自己的一些旧代码中,我使用以下内容:Object.prototype.instanceOf=function(iface){returniface.prototype.isPrototypeOf(this);};然后我做(例如)[].instanceOf(Array)这行得通,但似乎以下内容会做同样的事情:[]instanceofArray现在,这当然只是一个非常简单的例子。因此,我的问题是:ainstanceofb总是与b.prototype.isPrototypeOf(a)相同吗? 最佳答案 是的,他们做同样的事情,都遍历原

javascript - Chunk.entrypoints : Use Chunks. groupsIterable 并通过 instanceof Entrypoint 过滤

我在尝试启动我的应用程序时看到以下错误...>css-modules@1.0.0start/Users/johnnynolan/Repos/css-moduleswebpack&&openindex.html(node:5706)DeprecationWarning:Tapable.pluginisdeprecated.UsenewAPIon`.hooks`instead/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Chunk.js:802thrownewError(^Error:Chunk.entrypoi

javascript - Chunk.entrypoints : Use Chunks. groupsIterable 并通过 instanceof Entrypoint 过滤

我在尝试启动我的应用程序时看到以下错误...>css-modules@1.0.0start/Users/johnnynolan/Repos/css-moduleswebpack&&openindex.html(node:5706)DeprecationWarning:Tapable.pluginisdeprecated.UsenewAPIon`.hooks`instead/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Chunk.js:802thrownewError(^Error:Chunk.entrypoi

javascript - 如何在 JavaScript 中创建抽象基类?

是否可以在JavaScript中模拟抽象基类?最优雅的方法是什么?说,我想做这样的事情:-varcat=newAnimal('cat');vardog=newAnimal('dog');cat.say();dog.say();它应该输出:'bark','meow' 最佳答案 JavaScript类和继承(ES6)根据ES6,您可以使用JavaScript类和继承来完成您需要的。JavaScriptclasses,introducedinECMAScript2015,areprimarilysyntacticalsugaroverJa